package com.dlb.andorid;

import com.dlb.andorid.bean.AddressRetrieval;
import com.dlb.andorid.bean.Car;
import com.dlb.andorid.bean.Coupon;
import com.dlb.andorid.bean.ImgBean;
import com.dlb.andorid.bean.MerchantType;
import com.dlb.andorid.bean.MyAddress;
import com.dlb.andorid.bean.MyFav;
import com.dlb.andorid.bean.Order;
import com.dlb.andorid.bean.OrderBean;
import com.dlb.andorid.bean.OrderInfo;
import com.dlb.andorid.bean.PeripheryShop;
import com.dlb.andorid.bean.ProductBean;
import com.dlb.andorid.bean.ProductDetailBean;
import com.dlb.andorid.bean.Province;
import com.dlb.andorid.bean.SecTypeBean;
import com.dlb.andorid.bean.ServerResult;
import com.dlb.andorid.bean.SuperMarket;
import com.dlb.andorid.bean.SuperMarketType;
import com.dlb.andorid.bean.UserAccount;
import com.dlb.andorid.bean.UserInfo;
import com.kwan.xframe.mvp.presenter.IBaseView;

import java.util.List;

public class XContract {

	public interface IHomeView extends IBaseView {

		void getBannerSuccess(List<ImgBean> result);

		void getSecTypeSuccess(List<SecTypeBean> data);

		void getProductsSuccess(List<ProductBean> data);

		void addCarSuccess(ServerResult data);
	}

	public interface IProductDetailView extends IBaseView {
		void getDetailSuccess(ProductDetailBean data);

		void getRecommendProductsSuccess(List<ProductBean> data);

		void addCarSuccess(ServerResult data);

		void addFavSuccess(XServerMsg data);

		void addOrderSuccess(Order data);
	}

	public interface ILoginView extends IBaseView {
		void getCodeSuccess(String msg);

		void onLoginSuccess(UserInfo data);
	}

	public interface IRegView extends IBaseView {
		void onRegSuccess(String msg);

		void getCodeSuccess(String msg);

		void getPwdSuccess(String msg);


	}

	public interface ICarView extends IBaseView {
		void getCarSuccess(List<Car> data);

		void addCarSuccess(ServerResult data);

		void getRecommendProductsSuccess(List<ProductBean> data);

		void editCarNumSuccess(String str);

		void addOrderSuccess(Order data);
	}

	public interface ISearchView extends IBaseView {
		void getSearchProductsSuccess(List<ProductBean> data);

		void addCarSuccess(ServerResult data);
	}

	public interface IJrbxView extends IBaseView {
		void getJrbkSuccess(List<ProductBean> data);

		void addCarSuccess(ServerResult data);
	}

	public interface IOrderPayView extends IBaseView {

		void payOrderSuccess(XServerMsg data);

		void getAddressFeeSuccess(Float data);
	}

	public interface IAddressView extends IBaseView {

		void addAddressSuccess(String msg);

		void getAddressCitySuccess(List<Province> data);

		void getAddressSuccess(List<MyAddress> data);

		void getAddressRetrievalSuccess(List<AddressRetrieval> data);

		void deleteAddSuccess(XServerMsg data);
	}

	public interface IMxView extends IBaseView {

		void getMxListSuccess(List<UserAccount> data);

	}

	public interface IZbhdView extends IBaseView {
		void getZbhdListSuccess(List<PeripheryShop> data);

		void getZbhdInfoSuccess(List<ProductBean> data);

		void addCarSuccess(ServerResult data);
	}

	public interface IRechargeView extends IBaseView {

		void getRechargeSuccess(XServerMsg data);

	}

	public interface IPointView extends IBaseView {

		void exchangeSuccess(XServerMsg data);

		void getUserInfoSuccess(UserInfo data);

	}

	public interface ICouponView extends IBaseView {

		void getCouponListSuccess(List<Coupon> data);
	}

	public interface IShrzView extends IBaseView {

		void getMerchantTypeListSuccess(List<MerchantType> data);

		void getAddressCitySuccess(List<Province> data);

		void getAddressRetrievalSuccess(List<AddressRetrieval> data);

		void regMerchantSuccess(XServerMsg data);

		void getCodeSuccess(String msg);
	}

	public interface IOrderView extends IBaseView {

		void getOrderListSuccess(List<OrderBean> data, int type);

		void delOrderSuccess(XServerMsg data,int index);

		void getOrderInfoSuccess(XServerMsg<OrderInfo> data);

		void tkOrderSuccess(XServerMsg data, Integer index);

		void pjOrderSuccess(XServerMsg data, Integer index);
	}

	public interface ICollectView extends IBaseView {

		void getFavSuccess(List<MyFav> data, int type);

		void addFavSuccess(XServerMsg data);

		void delFavSuccess(XServerMsg data);

	}

	public interface ISuperMarketView extends IBaseView {

		void getSupermarketSuccess(SuperMarket data);

		void getSupermarketTypeSuccess(List<SuperMarketType> data);

		void getSupermarketProductSuccess(List<ProductBean> data);

		void addCarSuccess(ServerResult data);
	}



}
